Package-level declarations

Types

Link copied to clipboard
interface Annotatable<ELEMENT : Element>
Link copied to clipboard
class Annotations : Core<AnnotationNode> , CommonOperations<AnnotationNode, Annotations>

Annotations scope.

Link copied to clipboard
class Classes : Core<ClassNode> , Annotatable<ClassNode> , FilterableByAccessFlag<ClassNode> , FilterableByVisibility<ClassNode> , FilterableByType<ClassNode> , CommonOperations<ClassNode, Classes> , ParentOperations<ClassNode, Classes>

Classes scope.

Link copied to clipboard
interface CommonOperations<T : Element, SCOPE : Core<T>>
Link copied to clipboard
abstract class Core<ELEMENT : Element>(action: Action.Chain<Iter<ELEMENT>>) : EntityRegistrar<ELEMENT> , EntityPropertyRegistrar<ELEMENT> , ElementDebugLogger<ELEMENT>
Link copied to clipboard
interface ElementDebugLogger<ELEMENT : Element>
Link copied to clipboard
class Elements : Core<Element> , FilterableByAccessFlag<Element> , CommonOperations<Element, Elements>

Type-erased scope exposing common functionality.

Link copied to clipboard
interface EntityPropertyRegistrar<ELEMENT : Element>
Link copied to clipboard
interface EntityRegistrar<ELEMENT : Element>
Link copied to clipboard
class Fields : Core<FieldNode> , Annotatable<FieldNode> , FilterableByVisibility<FieldNode> , FilterableByAccessFlag<FieldNode> , FilterableByType<FieldNode> , CommonOperations<FieldNode, Fields> , ParentOperations<ClassNode, Classes>

Fields scope.

Link copied to clipboard
interface FilterableByAccessFlag<ELEMENT : Element>
Link copied to clipboard
interface FilterableByType<ELEMENT : Element, Trait.HasType>
Link copied to clipboard
interface FilterableByVisibility<ELEMENT : Element>
Link copied to clipboard
class Methods : Core<MethodNode> , Annotatable<MethodNode> , FilterableByAccessFlag<MethodNode> , FilterableByVisibility<MethodNode> , CommonOperations<MethodNode, Methods> , ParentOperations<ClassNode, Classes>

Methods scope.

Link copied to clipboard
Link copied to clipboard
class Parameters : Core<ParameterNode> , Annotatable<ParameterNode> , FilterableByAccessFlag<ParameterNode> , CommonOperations<ParameterNode, Parameters> , ParentOperations<MethodNode, Methods>

Parameters scope.

Link copied to clipboard
interface ParentOperations<T : Element, PARENT_SCOPE : Core<T>>
Link copied to clipboard
data class Property<T : Element>(val key: String, action: Action<Iter<T>, IterValues>)
Link copied to clipboard

Property update strategy comes into play when the property already exists.

Link copied to clipboard
Link copied to clipboard
interface SiftType
Link copied to clipboard
class Signature : EntityRegistrar<SignatureNode> , EntityPropertyRegistrar<SignatureNode> , ElementDebugLogger<SignatureNode>

Signature scope for working with generics.

Link copied to clipboard

This scope is used for stubbing classes not part of the input classes.

Link copied to clipboard
class Template
Link copied to clipboard
class Type : SiftType

Represents a reference to a class, including its generic type information if applicable. The Type class provides methods and properties to work with both the raw class and its generic type variant.

Link copied to clipboard

Element visiblity modifier. Note that Internal corresponds to kotlin's internal modifier.

Properties

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
infix fun <ELEMENT : Element> Action<Iter<ELEMENT>, IterValues>.andThen(transformer: TextTransformer): Action<Iter<ELEMENT>, IterValues>

composes a new action by applying transformer to the value of this element

Link copied to clipboard
inline fun <T> Annotatable<*>.annotatedBy()
Link copied to clipboard
operator fun List<Type>.contains(type: SiftType): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun template(f: Template.() -> Unit): Action<Unit, Unit>

Define a new template

Link copied to clipboard
inline fun <T> type(): Type
fun type(value: String): Type
fun type(cls: KClass<*>): Type